package com.tiger.communal.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tiger.common.annotation.Excel;
import com.tiger.common.core.domain.BaseEntity;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;

import javax.validation.Valid;


/**
 * 水/电总对象 hydropower
 *
 * @author standard
 * @date 2022-10-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "hydropower对象", description = "水/电总内容")
public class Hydropower extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    private Long id;

    /**
     * 总表编号
     */
    @Excel(name = "总表编号")
    @ApiModelProperty(value = "总表编号")
    private String hydropowerCode;

    /**
     * 账面价值id
     */
    @Excel(name = "账面价值id")
    @ApiModelProperty(value = "账面价值id")
    private Long bookValueId;

    /**
     * 账面价值名称
     */
    @Excel(name = "账面价值名称")
    @ApiModelProperty(value = "账面价值名称")
    private String bookValueName;

    /**
     * 电表/水表类型  1-智能   2-普通
     */
    @Excel(name = "电表/水表类型  1-智能   2-普通")
    @ApiModelProperty(value = "电表/水表类型  1-智能   2-普通")
    private String hydropowerType;

    /**
     * 1-水总表  2-电总表
     */
    @Excel(name = " 1-水总表  2-电总表")
    @ApiModelProperty(value = " 1-水总表  2-电总表")
    private String type;

    /**
     * 初始读数
     */
    @Excel(name = "初始读数")
    @ApiModelProperty(value = "初始读数")
    private String initialNum;

    /**
     * 抄表日
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "抄表日", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "抄表日")
    private Date meterReadTime;

    /**
     * 抄表人id
     */
    @Excel(name = "抄表人id")
    @ApiModelProperty(value = "抄表人id")
    private Long meterReaderId;

    /**
     * 抄表人姓名
     */
    @Excel(name = "抄表人姓名")
    @ApiModelProperty(value = "抄表人姓名")
    private String meterReaderName;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    @ApiModelProperty(value = "创建人")
    private Long createById;

    /**
     * 创建人名称
     */
    @Excel(name = "创建人名称")
    @ApiModelProperty(value = "创建人名称")
    private String createByName;

    /**
     * 更新人
     */
    @Excel(name = "更新人")
    @ApiModelProperty(value = "更新人")
    private Long updateById;

    /**
     * 更新人名称
     */
    @Excel(name = "更新人名称")
    @ApiModelProperty(value = "更新人名称")
    private String updateByName;

    /**
     * 租户id(0--平台用户 非0--正常租户)
     */
    @Excel(name = "租户id(0--平台用户 非0--正常租户)")
    @ApiModelProperty(value = "租户id(0--平台用户 非0--正常租户)")
    private Long tenantId;

    @ApiModelProperty(value = "公司id")
    private Long companyId;

    @ApiModelProperty(value = "1-升序 2-降序")
    private Long rank;

    /**
     * 删除标志 1-是，0-否
     */
    @Excel(name = "删除标志 1-是，0-否")
    @ApiModelProperty(value = "删除标志 1-是，0-否")
    private Long isDeleted;

    /**
     * 上月示数
     */
    @ApiModelProperty(value = "上次示数")
    private Float lastMonthDegree;

    @ApiModelProperty(value = "本次示数")
    private Float nowDegree;

    @ApiModelProperty(value = "上月用量")
    private Float lastMonthNum;

    @ApiModelProperty(value = "上月水费/电费")
    private BigDecimal lastMoney;

    @ApiModelProperty(value = "上月盈利")
    private BigDecimal lastMonthPrice;


    @ApiModelProperty(value = "关联分表名称")
    private String  HydropowerSubmeterName;
}
